home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / msdos / lynx / source / wattcp / src / pcbuf.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-10-25  |  1.3 KB  |  63 lines

  1. #include <copyright.h>
  2. #include <wattcp.h>
  3. #include <mem.h>
  4.  
  5. int sock_rbsize( tcp_Socket *s )
  6. {
  7.     switch( _chk_socket( s )) {
  8.     case 0 : return( 0 );
  9.     case 1 : return( tcp_MaxBufSize );
  10.     case 2 : return( tcp_MaxBufSize );
  11.     }
  12. }
  13. int sock_rbused( tcp_Socket *s )
  14. {
  15.     switch( _chk_socket( s )) {
  16.     case 0 : return( 0 );
  17.     case 1 : return( s->rdatalen );
  18.     case 2 : return( s->rdatalen );
  19.     }
  20. }
  21. int sock_rbleft( tcp_Socket *s )
  22. {
  23.     switch( _chk_socket( s )) {
  24.     case 0 : return( 0 );
  25.     case 1 : return( tcp_MaxBufSize - s->rdatalen );
  26.     case 2 : return( tcp_MaxBufSize - s->rdatalen );
  27.     }
  28. }
  29.  
  30. int sock_tbsize( tcp_Socket *s )
  31. {
  32.     switch( _chk_socket( s )) {
  33.     case 2 : return( tcp_MaxBufSize );
  34.     default: return( 0 );
  35.     }
  36. }
  37. int sock_tbused( tcp_Socket *s )
  38. {
  39.     switch( _chk_socket( s )) {
  40.     case 2 : return( s->datalen );
  41.     default: return( 0 );
  42.     }
  43. }
  44. int sock_tbleft( tcp_Socket *s )
  45. {
  46.     switch( _chk_socket( s )) {
  47.     case 2 : return( tcp_MaxBufSize - s->datalen );
  48.     default: return( 0 );
  49.     }
  50. }
  51.  
  52. sock_preread( sock_type *s, byte *dp, int len )
  53. {
  54.     int count;
  55.  
  56.     if ( (count = s->udp.rdatalen) < 1)    /* 0 : no data, -1 : error */
  57.     return( count );
  58.  
  59.     if ( count > len ) count = len;
  60.     movmem( s->udp.rdata, dp, count );
  61.     return( count );
  62. }
  63.